#include "ItemAgenda.h"

ItemAgenda::ItemAgenda(){}

ItemAgenda::ItemAgenda(Data &dataAg, Hora &hora, Vacina& va){
	dataAgendamento = dataAtendimento.getDataSistema();
	vacina = va;
	horario = hora;
	dataAgendamento = dataAg;
}

void ItemAgenda:: adicionarItemAgenda(){
	Hora hora;
	Data dataAg;
	Vacina va;
	Pesquisa pesq;
	cin >> dataAg;
	cin >> hora;
	va=pesq.pesquisarVacina();
	ItemAgenda auxiliarItem(dataAg,hora,va);
	return auxiliarItem;
}

void ItemAgenda :: alterarItemAgenda(){
	cin >> dataAtendimento;
	cin >> horario;
	dataAgendamento = dataAtendimento.getDataSistema();
	cin >> vacina;
}

void ItemAgenda:: consultarItemAgenda(){
	cout << "DADOS DO ITEM AGENDA AUXITEM: " << endl;
	cout << "Data de Atendimento: " << dataAtendimento << endl;
    cout << "Horário: " << horario << endl;
    cout << "Data de Agendamento: " << dataAgendamento << endl;
    cout << "Vacina: " << vacina << endl;
}

ItemAgenda::~ItemAgenda(){}

Data ItemAgenda :: getDataAt(){
	return dataAtendimento;
}

Data ItemAgenda :: getDataAg(){
	return dataAgendamento;
}

Hora ItemAgenda :: getHorario(){
	return horario;
}

Vacina ItemAgenda :: getVacina(){
	return vacina;
}

/*sobrecarga do operdador >> para ler um ItemAgenda */
istream& operator>>(istream &o, ItemAgenda &dt) {
		cout << "Digite a data de Agendamento: ";
        o >> dt.dataAgendamento;
        cout << "Digite o horario: ";
        o >> dt.horario;
		cout << "Digite a vacina: " << endl;
        o >> dt.vacina;
        return o;
}

/*sobrecarga do operador << para escrever uma Data*/
ostream &operator<<(ostream &o, ItemAgenda &dt){
        o << "Data de Atendimento: " << dt.dataAtendimento << endl << "Horário: " << dt.horario << endl;
        o << "Data de Agendamento: " << dt.dataAgendamento << endl << "Vacina: " << dt.vacina << endl;
        return o;
}
